|
Nowadays E-Business turns out to be a trend. More and more business
processes are executed in internet. People are fond of online
banking or online booking system, which helps check banking balance,
transferring money or booking flight tickets so easily and so
quickly while they just need to sit cozily before their computers
connected with internet, instead of going to the bank or traveling
office in person where they might have to wait in a long boring
queue. As more and more people prefer these web services while web
resources, for example, net speed, space for storage, etc. are quite
limited, thus, how to realize web services in a save and effective
way becomes a hot researching field.
Web services, which are on the base of the service-oriented
architecture framework, work as the foundation for modern
distributed, heterogeneous business applications. The two-level
programming model is used here to describe these kinds of services
and it¡¯s also the characteristics of business workflow processes.
There are two distinct programming in workflow-based applications:
one is programming in the large, where a process model describes the
sequence which is composed of different activities being carried
out; the other one is programming in the small which deals with the
individual components. In the Web services environment, we use the
Business Process Execution Language for Web Services (BPEL) to
describe process model. The actual implementation of all activities,
here so called web services, can be done in any language and
programming model.
In BPEL, business processes are, in fact, the Web services,
providing for a recursive aggregation model. A workflow management
system (WFMS) which uses the BPEL specification is designed to
manage the life cycle of business processes, to navigate through the
associated process models, and to invoke the appropriate Web
services, and we call it BPEL engine. The navigator is the core of
the WFMS, which opens a transaction, receives an appropriate
navigation request from a queue, retrieves all state information
about the process instance and the associated process model from a
database, carries out navigation, stores the new process state in
the database, insert a message into a queue, and commits the
transaction. The navigator typically works statelessly in a certain
application server environment. The database operations are another
main tasks by the navigator. They calculate necessary resources. And
that¡¯s why we need to optimize BPEL engine¡¯s runtime database.
The number of I/O operations and cycles for managing and fetching
process model information should be reduces, so that the resources
could be spared and optimized by caching them. The structure of the
database where we store the process state information should support
all the capabilities of the BPEL language. And this works perfectly
for those complicated process models which use most of the
capabilities, while creating huge overhead for simple process
models, for example, simple sequential process.
In this diploma thesis, a method that optimizes the storage layout
for different complexities of process models is to be developed. For
instance, for a simple sequential process model a single table may
be sufficient. The method includes five tasks: 1. to define
categories of process models; 2. to define an optimal database
structure for each of the categories; 3. to develop the code for
analyzing a given process model; 4. to develop the appropriate
navigation code, and 4. to measure the performance and determine the
performance improvements of the optimized process models.
In the first and second chapters, WSDL and BPEL are to be introduced
and their main grammar structures are clarified. The third chapter
describes SWoM, which contains its technical requirements and the
structure of process execution module. The fourth chapter tells
about the concepts of database system used here. They are XML and
synthesization of relational database schema. And a general view of
DB2 is presented. The fifth part is the main design for this
optimization which tells the goals and the process of design and
implementation.
|